﻿using KinonekoSoftware.CodariaDB.Documents.Shenanigans.Forum;

namespace KinonekoSoftware.Studio.Models.Shenanigans.Forums
{
    public abstract class ForumMSG : RootObject
    {

        public int DislikeAmount
        {
            get => Target.DislikeAmount;
            set
            {
                Target.DislikeAmount = value;
                RaiseUpdated();
            }
        }

        public bool Removable
        {
            get => Target.Removable;
            set
            {
                Target.Removable = value;
                RaiseUpdated();
            }
        }
        
        public string ForumID
        {
            get => Target.ForumID;
            set
            {
                Target.ForumID = value;
                RaiseUpdated();
            }
        }

        public int LikeAmount
        {
            get => Target.LikeAmount;
            set
            {
                Target.LikeAmount = value;
                RaiseUpdated();
            }
        }


        public required ForumObject Target { get; init; }
        public required Character   Poster { get; init; }

    }
}